/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * PanelCidade.java
 *
 * Created on 27/12/2012, 01:52:00
 */
package inovacao.gui;

import inovacao.dao.BairroDAO;
import inovacao.entidades.Bairro;
import inovacao.modelos.PagingModel;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.util.ArrayList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;

/**
 *
 * @author Giovani
 */
public final class PanelBairro extends javax.swing.JInternalFrame {

    /** Creates new form PanelCidade */
    private static PanelBairro INSTANCE = null;

    private PanelBairro() {
        super("Bairros");
        addViews();        
    }

    public static PanelBairro getInstance() {
        if (INSTANCE == null) {
            INSTANCE = new PanelBairro();
        }
        return INSTANCE;

    }

    public void addViews() 
    {
        PagingModel pm = new PagingModel(new String[]{"CÓDIGO", "DESCRIÇÃO", "CIDADE"});
        pm.setPageSize(100);
        pm.setEditavel(false);

        BairroDAO bairroDAO = new BairroDAO();
        for (Bairro bairro : bairroDAO.findAll()) {
            pm.addRow(
                    new Object[]{"" + bairro.getIdbairro() + "", 
                                 "" + bairro.getDescricao() + "", 
                                      bairro.getIdcidade()});
        }
        GridDetalhe jt = new GridDetalhe(pm);
        JScrollPane jsp = PagingModel.createPagingScrollPaneForTable(jt);
        MasterFormBairro masterForm = new MasterFormBairro(jt);
        JScrollPane jsp2 = new JScrollPane(masterForm);
        Navegadores navegadores = new Navegadores(jt, masterForm);
        jt.setNavegadores(navegadores);
        jt.setMasterForm(masterForm);      
        jt.selectPrimeiraLinha();
        ///////////////////////////////////////////////////////
        JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, jsp2, jsp);
        splitPane.setOneTouchExpandable(true);
        splitPane.setDividerLocation(150);
        //////////////////////////////////////////////////////
        JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout());        
        panel.add(navegadores, BorderLayout.NORTH);
        panel.add(splitPane, BorderLayout.CENTER);
        add(panel);
        
        ArrayList<Component> componentes = masterForm.allComponentes();
        for (Component componente : componentes) {
            componente.setEnabled(false);
        }

    }
}
